package com.example.jpatest.service;

import com.example.jpatest.entity.Enter;
import com.example.jpatest.entity.Student;
import com.example.jpatest.entity.Teacher;
import com.example.jpatest.entity.Team;
import java.util.List;
import java.util.Set;


public interface TeamService {
    /**
     * 根据队伍编号查询队伍
     * @param id 队伍编号
     * @return 队伍信息
     */
    Team getById(Long id);

    /**
     * 根据队伍名查找队伍
     * @param name 队伍id
     * @return 队伍信息
     */
    Team getByName(String name);

    /**
     * 保存队伍
     * @param team 队伍
     */
    void saveTeam(Team team);

    /**
     * 获得所有队伍
     * @return 所有队伍
     */
    List<Team> getTeams();

    /**
     * 获得队伍中所有学生
     * @param team 队伍信息
     * @return 学生信息
     */
    Set<Student> getAllStudent(Team team);

    /**
     * 删除队伍
     * @param team 队伍信息
     */
    void deleteTeam(Team team);

    /**
     * 获得队伍中所有老师
     * @param team 队伍信息
     * @return 老师信息
     */
    List<Teacher> getTeachers(Team team);

    /**
     * 获得队伍的所有报名
     * @param team 队伍信息
     * @return 报名信息
     */
    Set<Enter> getEnters(Team team);
}
